package com.s;
public class max {
    public static void main(String[] args) {
        findMaxSubArySum1();
    }
    public static void findMaxSubArySum1() {
        int sum = 0;
        int max = 0;
        int[] array = { -1, 2, -3, 12, -5, -1, 9, -2 };
        for (int i = 0; i < array.length; i++) {
            sum += array[i];// 求和
            if (sum < 0) {// 如果当前求得总和为负数的话，就将其清零，并且开始位置从下一个位置开始
                sum = 0;
            }
            if (sum > max) {// 如果求得总和大于之前的最大值的话，就将sum赋值给max，同时记录最后的位置
                max = sum;
            }
        }
        System.out.println("Max:" + max);
    }
}
